File sharing over the Internet has become increasingly popular over the last five years. Such shared files include text files (for example, .TXT and .DOC files), image files (.TIF or .JPG formats), music files (in .MP3 or .WAV formats), multi-media files (.MPG files) and the like, in any of a variety of formats. Most such file sharing systems are promoted as peer-to-peer in that all users of the system enjoy equal standing and files are communicated directly between such users.
NAPSTER 1.0 and other popular file-sharing systems have offered centralized file-sharing functions without exploiting all potential advantages. NAPSTER metadata is sent strictly client-to-server, and in such systems, shared files are always sent peer-to-peer. In such systems, though, centralization may act as a bottleneck to information flow at certain scales.
GNUTELLA, on the other hand, is one known decentralized file-sharing system, yet has some demonstrated technical inefficiencies that allow the system to saturate at large scales. This is due to the fact that queries and shared files are always sent peer-to-peer.
Most file sharing has, to date, essentially been manually performed and file-sharing systems been implemented in technically and socially naïve ways. Most are premised on the false assumption that the majority of users may want to share as well as to receive files, but statistics have shown this not to be the case. While it has proved true that many people have information to share, comparatively few have demonstrated an interest in sharing. According to some surveys, only 20-30% of the file-sharing community actually contributes shared files. In particular, it has been shown that 1% of GNUTELLA users fulfill 50% of all search requests. In that same system, 66% of users share no files, 73% share 10 or fewer files, and 53% of those sharing files never answer search requests or all uploading.
Accordingly, there is a need for a multi-tiered structure for file sharing that addresses certain deficiencies in existing technologies.